package io.afu.baseframework.annotations;


import io.afu.baseframework.annotations.impls.NotEmptyIfParamIsImpl;

import jakarta.validation.Constraint;
import jakarta.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {NotEmptyIfParamIsImpl.class})
public @interface NotEmptyIfParamIs {

    String message() default "";

    // 需要判空的元素们
    String[] targetElement() ;

    // 初始元素
    String moniteElement();

    // 监控元素的值
    String elementValue();

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default{};



}
